# coding:utf-8
from app import BASE_PATH
import json

from lib.test_DBUtil import DBUtil


def common_assert(case,response,status_code,success,code,message):
    case.assertEqual(status_code, response.status_code)
    case.assertEqual(code, response.json().get('code'))
    case.assertEqual(success, response.json().get('success'))
    case.assertIn(message, response.json().get('message'))
def read_file_data():
    path=BASE_PATH+'/data/login.json'
    login_data=[]
    with open (path,'r',encoding='utf-8')as f:
        data=json.load(f)
        for i in data:
            login_data.append((i.get('login_data'),i.get('status_code'),i.get('success'),i.get('code'),i.get('message')))
    return login_data

#数据库作用：1.作为参数化数据的来源，取某个字段的值使用下标
def read_data_db():
    dbutil=DBUtil()
    data=dbutil.exe_sql("select * from ihrm_login")
    db_data=[]
    #i是数据行即一条参数用例，取到某个字段的值使用下标
    #eval()可以将字符串最外层的标识去掉，转化为字符去掉之后的类型
    #比如：a='{}',b=eval(a)   ,b为字典
    for i in data:
        if i[2] is not None:
            login_data=eval(i[2])
        else:
            login_data=i[2]
        status_code=i[3]
        status=i[4]
        code=i[5]
        message=i[6]
        db_data.append((login_data,status_code,status,code,message))
    return db_data


